package com.duanjc.doc.es.service;


import com.duanjc.doc.es.controller.dto.Result;
import com.duanjc.doc.es.dto.SearchParamDTO;
import com.duanjc.doc.es.entity.WikiPageEsContent;

import java.util.List;

/**
 * [一句话描述该类的功能]
 *
 * @author : [duanjiangcheng]
 * @version : [v1.0]
 * @createTime : [2023/6/28 18:55]
 */

public interface WikiPageContentEsService {

    /**
     * description: 保存文档 <br>
     * version: 1.0 <br>
     * date: 2023/6/28 18:56 <br>
     * author: duanjiangcheng <br>
     * @param wikiPageEsContent WikiPageContent
     * @return String
     */
    String saveWikiPageContent(WikiPageEsContent wikiPageEsContent);

    /**
     * description: 删除文档 <br>
     * version: 1.0 <br>
     * date: 2023/6/28 18:57 <br>
     * author: duanjiangcheng <br>
     * @param wikiPageEsContent WikiPageContent
     * @return void
     */
    void deleteWikiPageContent(WikiPageEsContent wikiPageEsContent);

    /**
     * description: 修改文档 <br>
     * version: 1.0 <br>
     * date: 2023/6/28 18:58 <br>
     * author: duanjiangcheng <br>
     * @param wikiPageEsContent WikiPageContent
     * @return String
     */
    String updateWikiPageContent(WikiPageEsContent wikiPageEsContent);

   /**
    * @description 分页查询
    * @author duanjiangcheng
    * @date 10:16 2023/7/2
    * @param searchParamDTO SearchParamDTO
    * @return com.duanjc.doc.es.controller.dto.Result<java.util.List<com.duanjc.doc.es.entity.WikiPageEsContent>>
    */
    Result<List<WikiPageEsContent>> searchWikiPageContent(SearchParamDTO searchParamDTO);

    /**
     * description: 查询所有文档 <br>
     * version: 1.0 <br>
     * date: 2023/6/28 18:58 <br>
     * author: duanjiangcheng <br>
     * @param
     * @return java.util.List<com.duanjc.doc.es.entity.WikiPageContent>
     */
    List<WikiPageEsContent> getAllWikiPageContent();

    void deleteAllWikiPageContent();

    void createIndex();

    void deletIndex();

    /**
     *
     * @param list
     */
    void updatePageBatch(List<WikiPageEsContent> list);

    void deleteById(String id);
}
